import java.util.ArrayList;

public class Ciudad {

	private String nombre;
	private ArrayList<Casilla> casillas;
	private Region region;
	
	//CONSTRUCTOR
	public Ciudad(String nombre, Region region) {
		this.nombre = nombre;
		this.region = region;
		this.casillas = new ArrayList<Casilla>();
	}
	
	//GETTERS
	//devuelve el nombre de la ciudad
	public String getNombre() {
		return this.nombre;
	}
	
	//devuelve el listado de casillas que tiene la ciudad
	public ArrayList<Casilla> getCasillas(){
		return this.casillas;
	}
	
	//devuelve la region a la que pertenece la ciudad
	public Region getRegion(){
		return this.region;
	}
	
	//METODOS
	//agrega la casilla a la lista de casillas de la ciudad
	public void agregarCasilla(Casilla casilla) {
		casilla.setCiudad(this);
		this.casillas.add(casilla);
	}
		
	//verifica si un determinado jugador tiene alguna casilla en la ciudad
	public Boolean tieneCasilla(Jugador j){
		for(Casilla c : this.casillas){
			if(c.getJugador() == j){
				return true;
			}
		}
		return false;
	}
	
	//sobreescritura de la igualdad de ciudades
	@Override
    public boolean equals(final Object object) {

        if (this == object) return true;
        if (!(object instanceof Ciudad)) return false;
        final Ciudad ciudad = (Ciudad) object;
        return (this.nombre == ciudad.getNombre());
    }
	
}
